//
//  AirMotionTrack.h
//  AirCpp
//
//  Created by Penghao on 14-1-14.
//  Copyright (c) 2014年 PengHao.
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

#ifndef __AirCpp__AirMotionTrack__
#define __AirCpp__AirMotionTrack__

#include <iostream>
#include "../AirObject/AirObject.h"
#include "AirMotionBeacon.h"
namespace AirCpp{
    template <class SystemMotionTrack>
    class AirMotionTrack : public AirObject{
    private:
        SystemMotionTrack *sys_motion_track;
        void handle_monitored_beacon(AirMotionBacon *beacon){
            
        }
    public:
        bool init(){
            sys_motion_track = new SystemMotionTrack();
            sys_motion_track->callBack = this;
        };
        bool start_monitoring_beacons(){
            sys_motion_track->start_monitoring();
        };
        bool start_tracking_beacon(AirMotionBacon *beacon){
            sys_motion_track->start_tracking_beacon(beacon);
        };
        bool stop_monitoring(){
            sys_motion_track->stop_monitoring();
        }
        bool stop_tracking_beacon(AirMotionBacon *beacon){
            sys_motion_track->stop_tracking_beacon(beacon);
        }
        
        void handle_tracked_beacon_changed(AirMotionBacon *beacon){
            
        }
    };
}
#endif /* defined(__AirCpp__AirMotionTrack__) */
